perm filename HELP[PNT,HE]1 blob
sn#322819 filedate 1977-12-29 generic text, type T, neo UTF8
syntax of declaration
<type><identifier>,<identifier>,...;
where <type> is SCALAR or VECTOR or ROT or FRAME or TRANS
\
syntax of DELETE:
DELETE {<variable>,<variable>,.}.;
<variable> is a variable of any type.Frame deletion deletes the subtree
default= deletes any user defined variable
\
syntax of arithmetic expression:
<variable> ← <variable> <op> <variable>;
where <op> = + | - | * | /
\
syntax of module operation:
<identifier> ← |<scalar>|; or <identifier> ← |<vector>|; or
<identifier> ← |<rot>|;
\
<identifier> ← <scalar> + <scalar>;
<identifier> ← <scalar> - <scalar>;
<identifier> ← <scalar> * <scalar>;
<identifier> ← <scalar> / <scalar>;
<identifier> ← <vector_id> . <vector_id>;
\
syntax of explicit rotation assignment:
<rot_id>←{ROT}(<axis>,<scalar>);
where <axis>=XHAT or YHAT or ZHAT, and <scalar> is <scalar_id> or <number>
\
<identifier> ← <rot_id> * <rot_id>;
\
syntax of ORIENT:
<rot_id>←ORIENT(<frame_id>);
<rot_id>←POS(INPUT {<device>});
where <device>=BARM or YARM or POINTER. Default= POINTER
\
an identifier is an alphanumeric string beginning with a letter
\
syntax of EXIT:
EXIT; also <meta-control-alt> performs an EXIT"
\
syntax of INPUT:
<frame_id>←{<orient>}INPUT{<dev>};where <dev>=BARM, YARM or POINTER. default=POINTER
<orient>= ↑ (zhat up), ↓ (park orientation), α (rot(x,180)), $ (station)
\
syntax of explicit frame assignment:
<frame_id>←(<scalar>,<scalar>,<scalar>,<scalar>,<scalar>,<scalar>){REL<frame_id>};
<frame_id>←FRAME(product of <rot>,{<scalar>*}<vector>) {REL <frame_id>};
\
<identifier> ← <frame_id> + <vector_id>; (commutative)
<identifier> ← <frame_id> - <vector_id>;
<identifier> ← <trans_id> * <frame_id>;
\
syntax of CONSTRUCT:
<frame_id>←CONSTRUCT {<frame_id>,<frame_id>,<frame_id>};
<frame_id>←CONSTRUCT <vector_id>,<vector_id>,<vector_id>;
default= the system requires the frames
\
syntax of COPY or MERGE:
COPY <frame_id> INTO <frame_id>
MERGE <frame_id> INTO <frame_id>
\
syntax of UNFIX:
UNFIX <frame_id> {FROM <frame_id>};
\
syntax of affixment:
AFFIX <frame_id> TO <frame_id>{AT TRANS(<rot>,{<scalar>*}<vector>)}{affixtype};
where <affixtype> = RIGIDLY or *, NONRIGIDLY or +
default = RIGIDLY
\
syntax of REL operation:
<frame_id> ← <frame> WRT|REL <frame_id>;
\
The system types an * when it's ready to accept a new instruction.
The instruction EXIT or <meta><control><alt> exits from the system parking
the arm and closing any open file.
\
The instructions can be typed on different lines, more than one
instruction for line, and without semicolon.
\
syntax of MOVE:
MOVE <frame_id> TO <frame_id> {+|-{<scalar>*}<vector> {WRT <frame_id>}};
MOVE <frame_id> BY {{<scalar>*}<vector> {WRT <frame_id>}};
where <vector> can be <vector_id> or <explicit vector>
\
syntax of movement along an axis:
MOVE <frame_id> ALONG <axis> BY <scalar>; where <axis>=XHAT OR YHAT OR ZHAT
or MOVEX {<frame_id>} BY <scalar>; (analogous with MOVEY,MOVEZ)
default=BARM
\
syntax of drive instructions:
DRIVE BJT(<joint #>) TO <scalar>; for absolute movement
DRIVE BJT(<joint #>) BY <scalar>; for differential movement
(YJT instead of BJT for YARM) to move the joint(integer between 1 and 7)
\
syntax of OPEN or CLOSE:
OPEN {<hand>} TO <scalar>; for absolute movement
OPEN {<hand>} BY <scalar>; for differential movement
(analogous instructions for CLOSE)
where <hand>=BHAND or YHAND. default=BHAND
\
syntax of CENTER:
CENTER {<arm>}; where <arm>=BARM or YARM . default=BARM
\
syntax of parking instructions:
BPARK; moves BARM to its park position
YPARK; moves YARM to its park position
PARK; move BARM and YARM to their park position
\
syntax of explicit trans assignment:
<trans_id>←(<scalar>,<scalar>,<scalar>,<scalar>,<scalar>,<scalar>);
<trans_id>←TRANS(product of <rot>,{<scalar>*}<vector>) ;
\
operations on trans
<trans_id> ← <trans_id> * <trasn_id>;
\
trans is for many aspects equivalent to frame. A trans is converted
into a frame whenever used in instructions AFFIX, UNFIX, COPY, or MERGE.
\
The big box displays the frame tree with
affixment type(-=INDEPENDENT,+=NONRIGID,*=RIGID), name, trans part.
The box on the right displays the scalars, name and value.
The little one below contains the default part for movement instructions.
The three boxes below display:
the files used for output, with open/close(O or C), current default file(*),
name.The last indicated file is the file used to save TTY outputs;
the rotations, name and value expressed by Euler angles;
the vectors, name and value.
\
syntax of CLOSE:
CLOSE {<filename>}; default=closes the current file
CLOSE {<hand>} TO <scalar>; or CLOSE {<hand>} BY <scalar>;
where <hand>=BHAND or YHAND. default=BHAND
\
syntax of WRITE:
WRITE {<filename>} {FROM <frame>};
where <filename>=name.ext[prj,prg] (default=last used file or DECLAR.AL)
the default for <frame> is STATION"
\
syntax of SAVE:
SAVE {<filename>};
where <filename>=name.ext[prj,prg] (default=last used file or DECLAR.AL)
\
syntax of CLOSE:
CLOSE {<filename>}; default=closes the current file
\
syntax of READ:
READ {<filename>};
where <filename>=filnam.ext[prj,prg] (default=DECLAR.AL)
\
SAVE_FILES; saves any open file, including the file used for TTY output
\
CLOSE_FILES; closes any open file, including the file used for TTY output
\
syntax of EDIT:
EDIT <variable>; where <variable> is a variable of any type
\
syntax of RENAME:
RENAME <variable>; where <variable> is a variable of any type
\
syntax of KILL:
KILL;
\
syntax of assignment: <identifier>←<variable>;
\
syntax of general assignment:
variable>←<variable>; OR <variable>←<expression>;
where <expression> can be INPUT,CONSTRUCT,POS,ORIENT,arith.expr....
\
syntax of explicit assignment to vector or frame or trans:
<vector_id>←(<scalar>,<scalar>,<scalar>) {WRT|REL <frame_id>};
<frame_id>←(<scalar>,<scalar>,<scalar>,<scalar>,<scalar>,<scalar>) REL<frame_id>;
<trans_id>←(<scalar>,<scalar>,<scalar>,<scalar>,<scalar>,<scalar>);
\
syntax of WRT or REL
<vector_id> ← <vector> WRT|REL <frame_id>;
<frame_id> ← <frame> WRT|REL <frame_id>;
\
syntax of explicit vector assignment:
<vector_id>←{VECTOR}(<scalar>,<scalar>,<scalar>) {WRT|REL <frame_id>};
where <scalar> can be <scalar_id> or <number>
\
<identifier> ← <scalar> * <vector_id>; (commutative)
<identifier> ← <vector_id> / <scalar>;
<identifier> ← <vector_id> + <vector_id>;
<identifier> ← <vector_id> - <vector_id>;
<identifier> ← <rot_id> * <vector_id>;
<identifier> ← <trans_id> * <vector_id>;
<identifier> ← <frame_id> * <vector_id>;
\
syntax of POS:
<vector_id>←POS(<frame_id>);
<vector_id>←POS(INPUT {<device>});
where <device>=BARM or YARM or POINTER. Default= POINTER
\
syntax of UNIT"
<identifier> ← UNIT(<vector>);
\
syntax of AXIS
<identifier> ← AXIS(<vector>);
\
syntax of WRT or REL
<vector_id> ← <vector> WRT|REL <frame_id>;
\